# Ignore everything by default. This repository is intended to publish only
# the generated/implemented code, tests, simulator, scripts, and CI config.
*

# Keep repository metadata and CI.
!/.gitignore
!/README.md
!/.github/
!/.github/workflows/
!/.github/workflows/*.yml
!/.github/workflows/*.yaml

# Keep the C++ code project.
!/cpp/
!/cpp/CMakeLists.txt
!/cpp/README.md
!/cpp/*.ps1
!/cpp/*.bat

!/cpp/include/
!/cpp/include/rvc/
!/cpp/include/rvc/*.hpp

!/cpp/src/
!/cpp/src/*.cpp

!/cpp/examples/
!/cpp/examples/*.cpp

!/cpp/tests/
!/cpp/tests/*.cpp
!/cpp/tests/*.hpp

!/cpp/simulator/
!/cpp/simulator/*.cpp

# Always ignore build outputs and generated artifacts.
cpp/build/
cpp/build-*/
build/
build-*/
*.exe
*.dll
*.so
*.dylib
*.a
*.lib
*.o
*.obj
*.gcda
*.gcno
*.gcov
coverage/
coverage.xml
coverage.html

# Editor and OS noise.
.vscode/
.idea/
.DS_Store
Thumbs.db
